package com.dsg.entity.apply;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 折扣/行政費資料
 * </p>
 *
 * @author system
 * @since 2020-08-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dsg_apply_discount")
@ApiModel(value = "DsgApplyDiscount对象", description = "折扣/行政費資料")
public class DsgApplyDiscount implements Serializable {
    /**待審批*/
    public static final Integer DIS_STATUS_0 = 0;
    /**已審批*/
    public static final Integer DIS_STATUS_1 = 1;

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主鍵")
    @TableId("OID")
    private String oid;

//    @ApiModelProperty(value = "申請單號")
//    @TableField("APP_NO")
//    private String appNo;

    @ApiModelProperty(value = "車輛油種")
    @TableField("OIL_TYPE")
    private Integer oilType;

    @ApiModelProperty(value = "折扣對象")
    @TableField("DIS_TARGET")
    private Integer disTarget;

    @ApiModelProperty(value = "折扣狀態")
    @TableField("DIS_STATUS")
    private Integer disStatus;

    @ApiModelProperty(value = "客戶編號")
    @TableField("CUS_NO")
    private String cusNo;

    @ApiModelProperty(value = "油咭資料主鍵")
    @TableField("CARD_ID")
    private String cardId;

    @ApiModelProperty(value = "油咭編號")
    @TableField("CARD_NO")
    private String cardNo;

    @ApiModelProperty(value = "油咭類型")
    @TableField("CARD_TYPE")
    private String cardType;

    @ApiModelProperty(value = "折扣類型")
    @TableField("DISCOUNT_TYPE")
    private String discountType;

    @ApiModelProperty(value = "平油折扣金額")
    @TableField("CHEEP_AMOUNT")
    private Integer cheepAmount;

    @ApiModelProperty(value = "貴油折扣金額")
    @TableField("COSTLY_AMOUNT")
    private Integer costlyAmount;

    @ApiModelProperty(value = "達標升數")
    @TableField("UP_STANDARD")
    private Integer upStandard;

    @ApiModelProperty(value = "生效日期")
    @TableField("EFF_DATE")
    private Date effDate;

    @ApiModelProperty(value = "失效日期")
    @TableField("EXP_DATE")
    private Date expDate;

    @ApiModelProperty(value = "企業編號")
    @TableField("ENT_CODE")
    private String entCode;

    @ApiModelProperty(value = "創建人")
    @TableField("CREATER")
    private String creater;

    @ApiModelProperty(value = "創建時間")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField("UPDATER")
    private String updater;

    @ApiModelProperty(value = "更新時間")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty(value = "油站")
    @TableField("OIL_STATION")
    private String oilStation;

    /************************枚舉**********************/
    public enum AppStatus {
        pendingApproval(0), approved(1);
        Integer code;

        AppStatus(int code) {
            this.code = code;
        }

        public Integer getCode() {
            return code;
        }
    }

    public final static int DIS_TARGET_CARD = 1;
    public final static int DIS_TARGET_CUS = 2;

    /**基本折扣*/
    public final static String DISCOUNT_TYPE_1 = "1";
    /**時限折扣*/
    public final static String DISCOUNT_TYPE_2 = "2";
    /**油站折扣*/
    public final static String DISCOUNT_TYPE_3 = "3";
    /**達標折扣*/
    public final static String DISCOUNT_TYPE_4 = "4";
    /**指定油站折扣*/
    public final static String DISCOUNT_TYPE_5 = "5";
}
